home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / qbtools1.arc / AEBITCRE.BAS < prev    next >
BASIC Source File  |  1987-01-11  |  2KB  |  72 lines

  1. rem $linesize:132
  2. rem $title:'Application Engineer Standard Routines'
  3. rem $subtitle:'Create an index (Verbose)'
  4. '
  5. '  bit.creat completed on 8-apr-86
  6. '
  7. '                Include the COMMON values
  8. rem $include:'AESHARED.BAS'            
  9.     
  10.  
  11. sub bit.creat static
  12.         idxk%=0
  13.         ptl%=0
  14.         ptr%=0
  15.         parent%=0
  16.         pointer%=0
  17.         stat%=0
  18.         print "binary tree creation routine.":print
  19. hdr:
  20.         input "name of header file ",hdr$
  21.         mas$=hdr$+".idx":hdr$=hdr$+".hdr"
  22.         print "master index is ";mas$;" and"
  23.         print "header is : ";hdr$;" ==> correct (y/n) ";
  24.  
  25.         a$=input$(1)
  26.         if a$="n" or a$="n" then
  27.             goto hdr
  28.         end if
  29. klength:
  30.         input "length of key ",idxk%
  31.         if idxk%>3 and idxk%<256 then
  32.             goto okay
  33.         end if
  34.         print "key size is outside the bounds of intelligence"
  35.         print "key size must be less than 256 and greater than 3"
  36.         goto klength
  37. okay:
  38.         print "actual index master file record size is";
  39.         recsize%=idxk%+2+2+2+2+2
  40.         print recsize%
  41. doit:
  42.         print "please wait, file being initialized"
  43. '
  44. '     create the header first, then open the idx master.
  45.  
  46.         open "o",1,hdr$
  47.         close 1
  48.         open "r",1,hdr$,512
  49.         field #1,32 as desc$,32 as xmast$,2 as klen$,2 as nok$,2 as nexav$
  50.         field #1,70 as twit$,2 as kdel$,440 as spare$
  51.         lset desc$="(c) R.Barrow 1986,1987"+chr$(26)
  52.         lset xmast$=mas$
  53.         lset klen$=mki$(idxk%)
  54.         lset nok$=mki$(0)
  55.         lset nexav$=mki$(1)
  56.         lset kdel$=mki$(0)
  57.         put 1,1
  58.         close 1
  59.         print "header created."
  60.         print "opening index master ";
  61.         open "o",1,mas$
  62.         close 1
  63.         open "r",1,mas$,recsize%
  64.         field #1,recsize% as dummy$
  65.         lset dummy$=string$(recsize%,0)
  66.         put 1,1
  67.         close 1
  68.         print "done."
  69.         print
  70.         print "index may be used."
  71.     end sub
  72.